// 蒙层
function showLoading() {
    if ($('#popupLoading').length == 0) {
        var t = [];
        t.push('<div id="popupLoading" class="m-popup-loading-bg">');
        t.push(  '<div class="m-loading">');
        t.push(    '<div class="r1"></div>\n');
        t.push(    '<div class="r2"></div>\n');
        t.push(    '<div class="r3"></div>');
        t.push(  '</div>');
        t.push('</div>');
        $('body').append(t.join(''));
    }
    $('#popupLoading').show();
}

function hideLoading() {
    $('#popupLoading').hide();
}

function alertMsg(msg, msgObj) {
    hideLoading();

    if ($('#popupMsg').length == 0) {
        // 拼装插入DOM
        var t = [];
        t.push('<div id="popupMsg" class="m-popup-msg-bg">');
        t.push(  '<div class="m-popup-msg">');
        t.push(    '<div class="title"></div>');
        t.push(    '<div class="msg"></div>');
        t.push(    '<div class="btns btns-double">');
        t.push(      '<span class="cancel">取消</span>');
        t.push(      '<span class="submit">确定</span>');
        t.push(    '</div>');
        t.push(  '</div>');
        t.push('</div>');
        $('body').append(t.join(''));
    }

    var msgWin = $('#popupMsg');
    // 替换msg文本
    if (msgObj && msgObj.text) {
        msg = msgObj.text;
    }
    msgWin.find('.msg').text(msg);
    // 标题隐藏
    if (msgObj && msgObj.title) {
        msgWin.find('.title').show().text(msgObj.title);
    } else {
        msgWin.find('.title').hide();
    }
    // 确定事件和取消事件按钮的样式
    if (msgObj && msgObj.submit && msgObj.cancel) {
        msgWin.find('.btns').addClass('btns-double');
        msgWin.find('.cancel').show();
    } else {
        msgWin.find('.btns').removeClass('btns-double');
        msgWin.find('.cancel').hide();
    }
    if (msgObj && msgObj.submitTxt) {
        msgWin.find('.submit').text(msgObj.submitTxt);
    } else {
        msgWin.find('.submit').text('确定');
    }
    if (msgObj && msgObj.cancelTxt) {
        msgWin.find('.cancel').text(msgObj.cancelTxt);
    } else {
        msgWin.find('.cancel').text('取消');
    }
    // 确定事件
    if (LXMBase.msg) {
        LXMBase.msg.submit = false;
        LXMBase.msg.cancel = false;
    } else {
        LXMBase.msg = {};
    }
    if (msgObj && msgObj.submit) {
        LXMBase.msg.submit = msgObj.submit;
    } else {
        LXMBase.msg.submit = false;
    }
    if (msgObj && msgObj.cancel) {
        LXMBase.msg.cancel = msgObj.cancel;
    } else {
        LXMBase.msg.cancel = false;
    }
    // 绑定按钮点击事件
    msgWin.find('.submit').off('click').on('click', function() {
        if (LXMBase.msg && LXMBase.msg.submit) {
            LXMBase.msg.submit();
        }
        $('#popupMsg').hide();
    });
    msgWin.find('.cancel').off('click').on('click', function() {
        if (LXMBase.msg && LXMBase.msg.cancel) {
            LXMBase.msg.cancel();
        }
        $('#popupMsg').hide();
    });
    // 不显示按钮
    if (msgObj && msgObj.hideBtns) {
        msgWin.children().addClass('m-popup-msg-nobtns');
        msgWin.find('.btns').hide();
    } else {
        msgWin.children().removeClass('m-popup-msg-nobtns');
        msgWin.find('.btns').show();
    }
    // 设置延迟或者不显示按钮
    var tmpTimer = LXMBase.msg.timer;
    if (msgObj && (msgObj.hideBtns || msgObj.time)) {
        tmpTimer && clearTimeout(tmpTimer);
        LXMBase.msg.timer = setTimeout(function(){
            $('#popupMsg').hide();
        }, msgObj.time ? msgObj.time : 2000);
    } else {
        clearTimeout(tmpTimer);
    }
    msgWin.show();
}

function alertIconMsg(msg, msgObj) {
    hideLoading();
    $('#popupTitleMsg').hide();
    if ($('#popupIconMsg').length == 0) {
        var t = [];
        t.push('<div id="popupIconMsg" class="m-popup-iconmsg">');
        t.push(  '<div class="icon"></div>');
        t.push(  '<div class="msg">' + msg + '</div>');
        t.push('</div>' );
        $('body').append(t.join(''));
    }
    var msgWin = $('#popupIconMsg');
    if (msgObj && msgObj.icon) {
        msgWin.find('.icon').css('background-image', msgObj.icon);
    }
    if (msg) {
        msgWin.find('.msg').text(msg);
    }
    var tmpTimer = 1500;
    if (msgObj && msgObj.time) {
        tmpTimer = msgObj.time;
    }
    msgWin.show();
    setTimeout(function(){
        $('#popupIconMsg').hide();
        if (msgObj) {
            msgObj.callback && msgObj.callback();
        }
    }, tmpTimer);
}

function alertTitleMsg(msg,callback){
    hideLoading();
    if( $('#popupTitleMsg').length == 0 ){
        // 拼装插入DOM
        var t = [];
        t.push( '<div id="popupTitleMsg" class="f-popup-title">' );
        t.push(   '<div class="title"></div>' );
        t.push(   '<div class="f_msg">' + msg + '</div>' );
        t.push( '</div>' );
        $('body').append( t.join('') );
    }

    var msgWin = $('#popupTitleMsg');
    msgWin.find('.f_msg').text(msg);
    
    // 出现时间
    msgWin.show();
    setTimeout(function() {
        msgWin.hide();
        if (callback) {
            callback();
        };
    }, 2000);
}

// 打开支付窗口
function openPopupPay() {
    hideLoading();
    $('#popupPayWin').show();
    $('#popupPayClose').off('click').on('click', function(){
        closePopupPay();
    });
}

function closePopupPay() {
    $('#popupPayWin').hide();
}

// 挽留窗口
function openPopupStay() {
    $('#popupStay').show();
}

function closePopupStay() {
    $('#popupStay').hide();
}

// 数据上报
function lxmRPSubmit(fid) {
    var bizUserId = LXMBase.getItem('biz_user_id') || '',
        bizSource = LXMBase.getItem('biz_source') || '';
    if (!bizSource) {
        return;
    }

    var param = {
        uid: '',
        tk: '',
        body: {
            biz_id: biz_id_map[bizSource],
            biz_source: bizSource,
            rpk: '',
            fid: fid,
            biz_user_id: bizUserId
        }
    };
    $.ajax({
        type: 'post',
        url: httpsvr + '/proreport/rp.do',
        data: JSON.stringify(param)
    });
}

function defaultBizSource(){
    // 这个方法需要在$()或ready函数里第一个执行

    // 此方法主要处理一种情况
    // 用户A是用过loading.html跳转至index.html,
    // 用户B通过用户A分享出去的链接进入index.html，
    // 这时用户B在这个页面没有bizSource，因此要做一个默认的bizSource
    if (!window.localStorage) {
        // 防止不支持ls的情况互相跳转
        return;
    }

    var bizSource = LXMBase.getItem('biz_source');
    var bizUserId = LXMBase.getItem('biz_user_id');
    if (!bizSource) {
        // 设置官方默认的bizSource
        LXMBase.setItem('biz_source', 'lxmtarotsdk3');
        
        // 用户A直接在外部分享index_pub页面让用户B进入，
        // 用户B如果在微信环境，则需要用户重新接入登录
        LXMBase.removeItem('biz_user_id');
        LXMBase.removeItem('openid');
        window.location.replace('loading.html?biz_source=lxmtarotsdk3');
    }

    if (isWeixin && !bizUserId) {
        LXMBase.removeItem('openid');
        window.location.replace('loading.html?biz_source=' + bizSource);
    }
    if (bizSource && biz_id_map[bizSource] != biz_id_tarotsdk) {
        LXMBase.removeItem('biz_source');
        LXMBase.removeItem('biz_user_id');
        LXMBase.removeItem('openid');
        window.location.replace('loading.html?biz_source=lxmtarotsdk3');
    }

}